<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>回顾Object.defineProperty</title>
</head>
<body>
  <script>
    let number = 18;
    let person = {
      name:'张三',
      gender:'男'
    }

    //Object.defineProperty的作用是为对象添加属性
    Object.defineProperty(person,'age',{
      // value:number,//添加的属性值
      // enumerable:true, //将这个属性设置为可枚举类型
      // writable:true,  //将这个属性值设置为可写的
      // configurable:true //将这个属性值设置为是否可删除的

      //get的方法
      get:function () {
        console.log('有人获得了age属性!!!');
        return number;
      },
      //其实和上边写法应该相似 这里是简写
      set(value) {
        console.log('有人设置了age属性');
        number = value;
      }
    })
    console.log(Object.keys(person))
  </script>
</body>
</html>